namespace ext.util
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>A Collection class that maintains both numeric indexes and keys and exposes events.</summary>
	/// <definedin>src\util\MixedCollection.js</definedin>
	[ScriptName("MixedCollection")]
	[ScriptNamespace("Ext.util")]
	[Imported()]
	public partial class MixedCollection : ext.util.Observable
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="allowFunctions">
		/// Specify &lt;tt&gt;true&lt;/tt&gt; if the {@link #addAll}
		/// function should add function references to the collection. Defaults to
		/// &lt;tt&gt;false&lt;/tt&gt;.
		/// </param>
		/// <param name="keyFn">
		/// A function that can accept an item of the type(s) stored in this MixedCollection
		/// and return the key value for that item. This is used when available to look up the key on items that
		/// were passed without an explicit key parameter to a MixedCollection method. Passing this parameter is
		/// equivalent to providing an implementation for the {@link #getKey} method.
		/// </param>
		public MixedCollection(bool allowFunctions, System.Delegate keyFn)
		{
		}
		
		public MixedCollection(ext.util.MixedCollection_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public MixedCollection()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>Fires when the collection is cleared.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("clearEventName")]
		public const string ClearEventName = "clear";
		
		/// <summary>Fires when an item is added to the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("addEventName")]
		public const string AddEventName = "add";
		
		/// <summary>Fires when an item is replaced in the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("replaceEventName")]
		public const string ReplaceEventName = "replace";
		
		/// <summary>Fires when an item is removed from the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("removeEventName")]
		public const string RemoveEventName = "remove";
		
		/// <summary>
		/// Specify true if the {@link #addAll}
		/// function should add function references to the collection. Defaults to
		/// false.
		/// </summary>
		/// <htmlSummary>
		/// Specify &lt;tt&gt;true&lt;/tt&gt; if the {@link #addAll}
		/// function should add function references to the collection. Defaults to
		/// &lt;tt&gt;false&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("allowFunctions")]
		public bool AllowFunctions;
		#endregion
		
		#region Methods
		/// <summary>Adds an item to the collection. Fires the {@link #add} event when complete.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="key">
		/// &lt;p&gt;The key to associate with the item, or the new item.&lt;/p&gt;
		/// &lt;p&gt;If a {@link #getKey} implementation was specified for this MixedCollection,
		/// or if the key of the stored items is in a property called &lt;tt&gt;&lt;b&gt;id&lt;/b&gt;&lt;/tt&gt;,
		/// the MixedCollection will be able to &lt;i&gt;derive&lt;/i&gt; the key for the new item.
		/// In this case just pass the new item in this parameter.&lt;/p&gt;
		/// </param>
		/// <param name="o">The item to add.</param>
		/// <returns>The item added.</returns>
		[ScriptName("add")]
		public object AddMethod(string key, object o)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// MixedCollection has a generic way to fetch keys if you implement getKey. The default implementation
		/// simply returns item.id but you can provide your own implementation
		/// to return a different value as in the following examples: 
		/// // normal way
		/// var mc = new Ext.util.MixedCollection();
		/// mc.add(someEl.dom.id, someEl);
		/// mc.add(otherEl.dom.id, otherEl);
		/// //and so on
		///
		/// // using getKey
		/// var mc = new Ext.util.MixedCollection();
		/// mc.getKey = function(el){
		/// return el.dom.id;
		/// };
		/// mc.add(someEl);
		/// mc.add(otherEl);
		///
		/// // or via the constructor
		/// var mc = new Ext.util.MixedCollection(false, function(el){
		/// return el.dom.id;
		/// });
		/// mc.add(someEl);
		/// mc.add(otherEl);
		/// </summary>
		/// <htmlSummary>
		/// MixedCollection has a generic way to fetch keys if you implement getKey. The default implementation
		/// simply returns &lt;b&gt;&lt;code&gt;item.id&lt;/code&gt;&lt;/b&gt; but you can provide your own implementation
		/// to return a different value as in the following examples:&lt;pre&gt;&lt;code&gt;
		/// // normal way
		/// var mc = new Ext.util.MixedCollection();
		/// mc.add(someEl.dom.id, someEl);
		/// mc.add(otherEl.dom.id, otherEl);
		/// //and so on
		///
		/// // using getKey
		/// var mc = new Ext.util.MixedCollection();
		/// mc.getKey = function(el){
		/// return el.dom.id;
		/// };
		/// mc.add(someEl);
		/// mc.add(otherEl);
		///
		/// // or via the constructor
		/// var mc = new Ext.util.MixedCollection(false, function(el){
		/// return el.dom.id;
		/// });
		/// mc.add(someEl);
		/// mc.add(otherEl);
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="item">The item for which to find the key.</param>
		/// <returns>The key for the passed item.</returns>
		[ScriptName("getKey")]
		public object GetKey(object item)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Replaces an item in the collection. Fires the {@link #replace} event when complete.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="key">
		/// &lt;p&gt;The key associated with the item to replace, or the replacement item.&lt;/p&gt;
		/// &lt;p&gt;If you supplied a {@link #getKey} implementation for this MixedCollection, or if the key
		/// of your stored items is in a property called &lt;tt&gt;&lt;b&gt;id&lt;/b&gt;&lt;/tt&gt;, then the MixedCollection
		/// will be able to &lt;i&gt;derive&lt;/i&gt; the key of the replacement item. If you want to replace an item
		/// with one having the same key value, then just pass the replacement item in this parameter.&lt;/p&gt;
		/// </param>
		/// <param name="o">
		/// o (optional) If the first parameter passed was a key, the item to associate
		/// with that key.
		/// </param>
		/// <returns>The new item.</returns>
		[ScriptName("replace")]
		public object ReplaceMethod(string key, object o)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Remove an item from the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="o">The item to remove.</param>
		/// <returns>The item removed or false if no item was removed.</returns>
		[ScriptName("remove")]
		public object RemoveMethod(object o)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Remove an item from a specified index in the collection. Fires the {@link #remove} event when complete.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="index">The index within the collection of the item to remove.</param>
		/// <returns>The item removed or false if no item was removed.</returns>
		[ScriptName("removeAt")]
		public object RemoveAt(System.Number index)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Removed an item associated with the passed key fom the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="key">The key of the item to remove.</param>
		/// <returns>The item removed or false if no item was removed.</returns>
		[ScriptName("removeKey")]
		public object RemoveKey(string key)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the number of items in the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <returns>the number of items in the collection.</returns>
		[ScriptName("getCount")]
		public System.Number GetCount()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns index within the collection of the passed Object.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="o">The item to find the index of.</param>
		/// <returns>index of the item. Returns -1 if not found.</returns>
		[ScriptName("indexOf")]
		public System.Number IndexOf(object o)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns index within the collection of the passed key.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="key">The key to find the index of.</param>
		/// <returns>index of the key.</returns>
		[ScriptName("indexOfKey")]
		public System.Number IndexOfKey(string key)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the item at the specified index.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="index">The index of the item.</param>
		/// <returns>The item at the specified index.</returns>
		[ScriptName("itemAt")]
		public object ItemAt(System.Number index)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns true if the collection contains the passed Object as an item.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="o">The Object to look for in the collection.</param>
		/// <returns>True if the collection contains the Object as an item.</returns>
		[ScriptName("contains")]
		public bool Contains(object o)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns true if the collection contains the passed Object as a key.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="key">The key to look for in the collection.</param>
		/// <returns>True if the collection contains the Object as a key.</returns>
		[ScriptName("containsKey")]
		public bool ContainsKey(string key)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Removes all items from the collection. Fires the {@link #clear} event when complete.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("clear")]
		public void ClearMethod()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the first item in the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <returns>the first item in the collection..</returns>
		[ScriptName("first")]
		public object First()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the last item in the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <returns>the last item in the collection..</returns>
		[ScriptName("last")]
		public object Last()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Reorders each of the items based on a mapping from old index to new index. Internally this
		/// just translates into a sort. The &apos;sort&apos; event is fired whenever reordering has occured.
		/// </summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="mapping">Mapping from old item index to new item index</param>
		[ScriptName("reorder")]
		public void Reorder(object mapping)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Creates a shallow copy of this collection</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("clone")]
		public ext.util.MixedCollection Clone()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Adds all elements of an Array or an Object to the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="objs">
		/// An Object containing properties which will be added
		/// to the collection, or an Array of values, each of which are added to the collection.
		/// Functions references will be added to the collection if <c>{@link #allowFunctions}</c>
		/// has been set to &lt;tt&gt;true&lt;/tt&gt;.
		/// </param>
		[ScriptName("addAll")]
		public void AddAll(object objs)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Adds all elements of an Array or an Object to the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="objs">
		/// An Object containing properties which will be added
		/// to the collection, or an Array of values, each of which are added to the collection.
		/// Functions references will be added to the collection if <c>{@link #allowFunctions}</c>
		/// has been set to &lt;tt&gt;true&lt;/tt&gt;.
		/// </param>
		[ScriptName("addAll")]
		public void AddAll(System.Array objs)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Executes the specified function once for every item in the collection, passing the following arguments:
		///   item : Mixed The collection item   index : Number The item&apos;s index   length : Number The total number of items in the collection    
		/// The function should return a boolean value. Returning false from the function will stop the iteration.
		/// </summary>
		/// <htmlSummary>
		/// Executes the specified function once for every item in the collection, passing the following arguments:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;item&lt;/b&gt; : Mixed&lt;p class=&quot;sub-desc&quot;&gt;The collection item&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;index&lt;/b&gt; : Number&lt;p class=&quot;sub-desc&quot;&gt;The item&apos;s index&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;length&lt;/b&gt; : Number&lt;p class=&quot;sub-desc&quot;&gt;The total number of items in the collection&lt;/p&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// The function should return a boolean value. Returning false from the function will stop the iteration.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="fn">The function to execute for each item.</param>
		/// <param name="scope">The scope (<c>this</c> reference) in which the function is executed. Defaults to the current item in the iteration.</param>
		[ScriptName("each")]
		public void Each(System.Delegate fn, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Executes the specified function once for every item in the collection, passing the following arguments:
		///   item : Mixed The collection item   index : Number The item&apos;s index   length : Number The total number of items in the collection    
		/// The function should return a boolean value. Returning false from the function will stop the iteration.
		/// </summary>
		/// <htmlSummary>
		/// Executes the specified function once for every item in the collection, passing the following arguments:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;item&lt;/b&gt; : Mixed&lt;p class=&quot;sub-desc&quot;&gt;The collection item&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;index&lt;/b&gt; : Number&lt;p class=&quot;sub-desc&quot;&gt;The item&apos;s index&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;length&lt;/b&gt; : Number&lt;p class=&quot;sub-desc&quot;&gt;The total number of items in the collection&lt;/p&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// The function should return a boolean value. Returning false from the function will stop the iteration.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="fn">The function to execute for each item.</param>
		[ScriptName("each")]
		public void Each(System.Delegate fn)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Executes the specified function once for every key in the collection, passing each
		/// key, and its associated item as the first two parameters.
		/// </summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="fn">The function to execute for each item.</param>
		/// <param name="scope">The scope (<c>this</c> reference) in which the function is executed. Defaults to the browser window.</param>
		[ScriptName("eachKey")]
		public void EachKey(System.Delegate fn, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Executes the specified function once for every key in the collection, passing each
		/// key, and its associated item as the first two parameters.
		/// </summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="fn">The function to execute for each item.</param>
		[ScriptName("eachKey")]
		public void EachKey(System.Delegate fn)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Returns the first item in the collection which elicits a true return value from the
		/// passed selection function.
		/// </summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="fn">The selection function to execute for each item.</param>
		/// <param name="scope">The scope (<c>this</c> reference) in which the function is executed. Defaults to the browser window.</param>
		/// <returns>The first item in the collection which returned true from the selection function.</returns>
		[ScriptName("find")]
		public object Find(System.Delegate fn, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Returns the first item in the collection which elicits a true return value from the
		/// passed selection function.
		/// </summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="fn">The selection function to execute for each item.</param>
		/// <returns>The first item in the collection which returned true from the selection function.</returns>
		[ScriptName("find")]
		public object Find(System.Delegate fn)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Inserts an item at the specified index in the collection. Fires the {@link #add} event when complete.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="index">The index to insert the item at.</param>
		/// <param name="key">The key to associate with the new item, or the item itself.</param>
		/// <param name="o">If the second parameter was a key, the new item.</param>
		/// <returns>The item inserted.</returns>
		[ScriptName("insert")]
		public object Insert(System.Number index, string key, object o)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Inserts an item at the specified index in the collection. Fires the {@link #add} event when complete.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="index">The index to insert the item at.</param>
		/// <param name="key">The key to associate with the new item, or the item itself.</param>
		/// <returns>The item inserted.</returns>
		[ScriptName("insert")]
		public object Insert(System.Number index, string key)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Returns the item associated with the passed key OR index.
		/// Key has priority over index. This is the equivalent
		/// of calling {@link #key} first, then if nothing matched calling {@link #itemAt}.
		/// </summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="key">The key or index of the item.</param>
		/// <returns>
		/// If the item is found, returns the item. If the item was not found, returns &lt;tt&gt;undefined&lt;/tt&gt;.
		/// If an item was found, but is a Class, returns &lt;tt&gt;null&lt;/tt&gt;.
		/// </returns>
		[ScriptName("item")]
		public object Item(string key)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Returns the item associated with the passed key OR index.
		/// Key has priority over index. This is the equivalent
		/// of calling {@link #key} first, then if nothing matched calling {@link #itemAt}.
		/// </summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="key">The key or index of the item.</param>
		/// <returns>
		/// If the item is found, returns the item. If the item was not found, returns &lt;tt&gt;undefined&lt;/tt&gt;.
		/// If an item was found, but is a Class, returns &lt;tt&gt;null&lt;/tt&gt;.
		/// </returns>
		[ScriptName("item")]
		public object Item(System.Number key)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the item associated with the passed key.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="key">The key of the item.</param>
		/// <returns>The item associated with the passed key.</returns>
		[ScriptName("key")]
		public object Key(string key)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the item associated with the passed key.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="key">The key of the item.</param>
		/// <returns>The item associated with the passed key.</returns>
		[ScriptName("key")]
		public object Key(System.Number key)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sorts this collection by item value with the passed comparison function.</summary>
		/// <htmlSummary>Sorts this collection by &lt;b&gt;item&lt;/b&gt; value with the passed comparison function.</htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="direction">&apos;ASC&apos; or &apos;DESC&apos;. Defaults to &apos;ASC&apos;.</param>
		/// <param name="fn">
		/// Comparison function that defines the sort order.
		/// Defaults to sorting by numeric value.
		/// </param>
		[ScriptName("sort")]
		public void Sort(string direction, System.Delegate fn)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sorts this collection by item value with the passed comparison function.</summary>
		/// <htmlSummary>Sorts this collection by &lt;b&gt;item&lt;/b&gt; value with the passed comparison function.</htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="direction">&apos;ASC&apos; or &apos;DESC&apos;. Defaults to &apos;ASC&apos;.</param>
		[ScriptName("sort")]
		public void Sort(string direction)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sorts this collection by item value with the passed comparison function.</summary>
		/// <htmlSummary>Sorts this collection by &lt;b&gt;item&lt;/b&gt; value with the passed comparison function.</htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("sort")]
		public void Sort()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sorts this collection by keys.</summary>
		/// <htmlSummary>Sorts this collection by &lt;b&gt;key&lt;/b&gt;s.</htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="direction">&apos;ASC&apos; or &apos;DESC&apos;. Defaults to &apos;ASC&apos;.</param>
		/// <param name="fn">
		/// Comparison function that defines the sort order.
		/// Defaults to sorting by case insensitive string.
		/// </param>
		[ScriptName("keySort")]
		public void KeySort(string direction, System.Delegate fn)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sorts this collection by keys.</summary>
		/// <htmlSummary>Sorts this collection by &lt;b&gt;key&lt;/b&gt;s.</htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="direction">&apos;ASC&apos; or &apos;DESC&apos;. Defaults to &apos;ASC&apos;.</param>
		[ScriptName("keySort")]
		public void KeySort(string direction)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sorts this collection by keys.</summary>
		/// <htmlSummary>Sorts this collection by &lt;b&gt;key&lt;/b&gt;s.</htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("keySort")]
		public void KeySort()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns a range of items in this collection</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="startIndex">The starting index. Defaults to 0.</param>
		/// <param name="endIndex">The ending index. Defaults to the last item.</param>
		/// <returns>An array of items</returns>
		[ScriptName("getRange")]
		public System.Array GetRange(System.Number startIndex, System.Number endIndex)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns a range of items in this collection</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="startIndex">The starting index. Defaults to 0.</param>
		/// <returns>An array of items</returns>
		[ScriptName("getRange")]
		public System.Array GetRange(System.Number startIndex)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns a range of items in this collection</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <returns>An array of items</returns>
		[ScriptName("getRange")]
		public System.Array GetRange()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Filter the objects in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </summary>
		/// <htmlSummary>
		/// Filter the &lt;i&gt;objects&lt;/i&gt; in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">A property on your objects</param>
		/// <param name="value">
		/// Either string that the property values
		/// should start with or a RegExp to test against the property
		/// </param>
		/// <param name="anyMatch">True to match any part of the string, not just the beginning</param>
		/// <param name="caseSensitive">True for case sensitive comparison (defaults to False).</param>
		/// <returns>The new filtered collection</returns>
		[ScriptName("filter")]
		public ext.util.MixedCollection Filter(string property, string value, bool anyMatch, bool caseSensitive)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Filter the objects in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </summary>
		/// <htmlSummary>
		/// Filter the &lt;i&gt;objects&lt;/i&gt; in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">A property on your objects</param>
		/// <param name="value">
		/// Either string that the property values
		/// should start with or a RegExp to test against the property
		/// </param>
		/// <param name="anyMatch">True to match any part of the string, not just the beginning</param>
		/// <param name="caseSensitive">True for case sensitive comparison (defaults to False).</param>
		/// <returns>The new filtered collection</returns>
		[ScriptName("filter")]
		public ext.util.MixedCollection Filter(string property, System.RegularExpression value, bool anyMatch, bool caseSensitive)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Filter the objects in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </summary>
		/// <htmlSummary>
		/// Filter the &lt;i&gt;objects&lt;/i&gt; in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">A property on your objects</param>
		/// <param name="value">
		/// Either string that the property values
		/// should start with or a RegExp to test against the property
		/// </param>
		/// <param name="anyMatch">True to match any part of the string, not just the beginning</param>
		/// <returns>The new filtered collection</returns>
		[ScriptName("filter")]
		public ext.util.MixedCollection Filter(string property, string value, bool anyMatch)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Filter the objects in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </summary>
		/// <htmlSummary>
		/// Filter the &lt;i&gt;objects&lt;/i&gt; in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">A property on your objects</param>
		/// <param name="value">
		/// Either string that the property values
		/// should start with or a RegExp to test against the property
		/// </param>
		/// <param name="anyMatch">True to match any part of the string, not just the beginning</param>
		/// <returns>The new filtered collection</returns>
		[ScriptName("filter")]
		public ext.util.MixedCollection Filter(string property, System.RegularExpression value, bool anyMatch)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Filter the objects in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </summary>
		/// <htmlSummary>
		/// Filter the &lt;i&gt;objects&lt;/i&gt; in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">A property on your objects</param>
		/// <param name="value">
		/// Either string that the property values
		/// should start with or a RegExp to test against the property
		/// </param>
		/// <returns>The new filtered collection</returns>
		[ScriptName("filter")]
		public ext.util.MixedCollection Filter(string property, string value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Filter the objects in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </summary>
		/// <htmlSummary>
		/// Filter the &lt;i&gt;objects&lt;/i&gt; in this collection by a specific property.
		/// Returns a new collection that has been filtered.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">A property on your objects</param>
		/// <param name="value">
		/// Either string that the property values
		/// should start with or a RegExp to test against the property
		/// </param>
		/// <returns>The new filtered collection</returns>
		[ScriptName("filter")]
		public ext.util.MixedCollection Filter(string property, System.RegularExpression value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Filter by a function. Returns a new collection that has been filtered.
		/// The passed function will be called with each object in the collection.
		/// If the function returns true, the value is included otherwise it is filtered.
		/// </summary>
		/// <htmlSummary>
		/// Filter by a function. Returns a &lt;i&gt;new&lt;/i&gt; collection that has been filtered.
		/// The passed function will be called with each object in the collection.
		/// If the function returns true, the value is included otherwise it is filtered.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="fn">The function to be called, it will receive the args o (the object), k (the key)</param>
		/// <param name="scope">The scope (<c>this</c> reference) in which the function is executed. Defaults to this MixedCollection.</param>
		/// <returns>The new filtered collection</returns>
		[ScriptName("filterBy")]
		public ext.util.MixedCollection FilterBy(System.Delegate fn, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Filter by a function. Returns a new collection that has been filtered.
		/// The passed function will be called with each object in the collection.
		/// If the function returns true, the value is included otherwise it is filtered.
		/// </summary>
		/// <htmlSummary>
		/// Filter by a function. Returns a &lt;i&gt;new&lt;/i&gt; collection that has been filtered.
		/// The passed function will be called with each object in the collection.
		/// If the function returns true, the value is included otherwise it is filtered.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="fn">The function to be called, it will receive the args o (the object), k (the key)</param>
		/// <returns>The new filtered collection</returns>
		[ScriptName("filterBy")]
		public ext.util.MixedCollection FilterBy(System.Delegate fn)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Finds the index of the first matching object in this collection by a specific property/value.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">The name of a property on your objects.</param>
		/// <param name="value">
		/// A string that the property values
		/// should start with or a RegExp to test against the property.
		/// </param>
		/// <param name="start">The index to start searching at (defaults to 0).</param>
		/// <param name="anyMatch">True to match any part of the string, not just the beginning.</param>
		/// <param name="caseSensitive">True for case sensitive comparison.</param>
		/// <returns>The matched index or -1</returns>
		[ScriptName("findIndex")]
		public System.Number FindIndex(string property, string value, System.Number start, bool anyMatch, bool caseSensitive)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Finds the index of the first matching object in this collection by a specific property/value.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">The name of a property on your objects.</param>
		/// <param name="value">
		/// A string that the property values
		/// should start with or a RegExp to test against the property.
		/// </param>
		/// <param name="start">The index to start searching at (defaults to 0).</param>
		/// <param name="anyMatch">True to match any part of the string, not just the beginning.</param>
		/// <param name="caseSensitive">True for case sensitive comparison.</param>
		/// <returns>The matched index or -1</returns>
		[ScriptName("findIndex")]
		public System.Number FindIndex(string property, System.RegularExpression value, System.Number start, bool anyMatch, bool caseSensitive)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Finds the index of the first matching object in this collection by a specific property/value.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">The name of a property on your objects.</param>
		/// <param name="value">
		/// A string that the property values
		/// should start with or a RegExp to test against the property.
		/// </param>
		/// <param name="start">The index to start searching at (defaults to 0).</param>
		/// <param name="anyMatch">True to match any part of the string, not just the beginning.</param>
		/// <returns>The matched index or -1</returns>
		[ScriptName("findIndex")]
		public System.Number FindIndex(string property, string value, System.Number start, bool anyMatch)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Finds the index of the first matching object in this collection by a specific property/value.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">The name of a property on your objects.</param>
		/// <param name="value">
		/// A string that the property values
		/// should start with or a RegExp to test against the property.
		/// </param>
		/// <param name="start">The index to start searching at (defaults to 0).</param>
		/// <param name="anyMatch">True to match any part of the string, not just the beginning.</param>
		/// <returns>The matched index or -1</returns>
		[ScriptName("findIndex")]
		public System.Number FindIndex(string property, System.RegularExpression value, System.Number start, bool anyMatch)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Finds the index of the first matching object in this collection by a specific property/value.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">The name of a property on your objects.</param>
		/// <param name="value">
		/// A string that the property values
		/// should start with or a RegExp to test against the property.
		/// </param>
		/// <param name="start">The index to start searching at (defaults to 0).</param>
		/// <returns>The matched index or -1</returns>
		[ScriptName("findIndex")]
		public System.Number FindIndex(string property, string value, System.Number start)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Finds the index of the first matching object in this collection by a specific property/value.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">The name of a property on your objects.</param>
		/// <param name="value">
		/// A string that the property values
		/// should start with or a RegExp to test against the property.
		/// </param>
		/// <param name="start">The index to start searching at (defaults to 0).</param>
		/// <returns>The matched index or -1</returns>
		[ScriptName("findIndex")]
		public System.Number FindIndex(string property, System.RegularExpression value, System.Number start)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Finds the index of the first matching object in this collection by a specific property/value.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">The name of a property on your objects.</param>
		/// <param name="value">
		/// A string that the property values
		/// should start with or a RegExp to test against the property.
		/// </param>
		/// <returns>The matched index or -1</returns>
		[ScriptName("findIndex")]
		public System.Number FindIndex(string property, string value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Finds the index of the first matching object in this collection by a specific property/value.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="property">The name of a property on your objects.</param>
		/// <param name="value">
		/// A string that the property values
		/// should start with or a RegExp to test against the property.
		/// </param>
		/// <returns>The matched index or -1</returns>
		[ScriptName("findIndex")]
		public System.Number FindIndex(string property, System.RegularExpression value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Find the index of the first matching object in this collection by a function.
		/// If the function returns true it is considered a match.
		/// </summary>
		/// <htmlSummary>
		/// Find the index of the first matching object in this collection by a function.
		/// If the function returns &lt;i&gt;true&lt;/i&gt; it is considered a match.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="fn">The function to be called, it will receive the args o (the object), k (the key).</param>
		/// <param name="scope">The scope (<c>this</c> reference) in which the function is executed. Defaults to this MixedCollection.</param>
		/// <param name="start">The index to start searching at (defaults to 0).</param>
		/// <returns>The matched index or -1</returns>
		[ScriptName("findIndexBy")]
		public System.Number FindIndexBy(System.Delegate fn, object scope, System.Number start)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Find the index of the first matching object in this collection by a function.
		/// If the function returns true it is considered a match.
		/// </summary>
		/// <htmlSummary>
		/// Find the index of the first matching object in this collection by a function.
		/// If the function returns &lt;i&gt;true&lt;/i&gt; it is considered a match.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="fn">The function to be called, it will receive the args o (the object), k (the key).</param>
		/// <param name="scope">The scope (<c>this</c> reference) in which the function is executed. Defaults to this MixedCollection.</param>
		/// <returns>The matched index or -1</returns>
		[ScriptName("findIndexBy")]
		public System.Number FindIndexBy(System.Delegate fn, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Find the index of the first matching object in this collection by a function.
		/// If the function returns true it is considered a match.
		/// </summary>
		/// <htmlSummary>
		/// Find the index of the first matching object in this collection by a function.
		/// If the function returns &lt;i&gt;true&lt;/i&gt; it is considered a match.
		/// </htmlSummary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="fn">The function to be called, it will receive the args o (the object), k (the key).</param>
		/// <returns>The matched index or -1</returns>
		[ScriptName("findIndexBy")]
		public System.Number FindIndexBy(System.Delegate fn)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// This method calls {@link #item item()}.
		/// Returns the item associated with the passed key OR index. Key has priority
		/// over index. This is the equivalent of calling {@link #key} first, then if
		/// nothing matched calling {@link #itemAt}.
		/// </summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="key">The key or index of the item.</param>
		/// <returns>
		/// If the item is found, returns the item. If the item was
		/// not found, returns &lt;tt&gt;undefined&lt;/tt&gt;. If an item was found, but is a Class,
		/// returns &lt;tt&gt;null&lt;/tt&gt;.
		/// </returns>
		[ScriptName("get")]
		public object Get(string key)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// This method calls {@link #item item()}.
		/// Returns the item associated with the passed key OR index. Key has priority
		/// over index. This is the equivalent of calling {@link #key} first, then if
		/// nothing matched calling {@link #itemAt}.
		/// </summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		/// <param name="key">The key or index of the item.</param>
		/// <returns>
		/// If the item is found, returns the item. If the item was
		/// not found, returns &lt;tt&gt;undefined&lt;/tt&gt;. If an item was found, but is a Class,
		/// returns &lt;tt&gt;null&lt;/tt&gt;.
		/// </returns>
		[ScriptName("get")]
		public object Get(System.Number key)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>Fires when the collection is cleared.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("clear")]
		public event ext.auto.Delegate_NoParams Clear;
		
		/// <summary>Fires when an item is added to the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("add")]
		public event ext.auto.Delegate_System_Number_And_System_Object_And_System_String Add;
		
		/// <summary>Fires when an item is replaced in the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("replace")]
		public event ext.auto.Delegate_System_String_And_System_Object_And_System_Object Replace;
		
		/// <summary>Fires when an item is removed from the collection.</summary>
		/// <definedin>src\util\MixedCollection.js</definedin>
		[ScriptName("remove")]
		public event ext.auto.Delegate_System_Object_And_System_String_Optional Remove;
		#endregion
	}
}
